#pragma once

#include "rclcpp/rclcpp.hpp"
#include "sensor_msgs/msg/image.hpp"
#include "std_msgs/msg/header.hpp"
#include "cv_bridge/cv_bridge.h"

#include "VirtualCamera.hpp"


class CameraNode : public rclcpp::Node {

public:
    CameraNode(const rclcpp::NodeOptions &options);
    ~CameraNode() = default;

private:
    std::string video_path;
    int fps;

    std::shared_ptr<VirtualCamera> cam;
    rclcpp::Publisher<sensor_msgs::msg::Image>::SharedPtr image_pub_;
    rclcpp::TimerBase::SharedPtr timer_;

    void getImage();
};
